import { useEffect } from 'react';
import { useWebsiteStore } from '@/store/useWebsiteStore';

interface DocumentTitleProps {
  title?: string; // 可选的页面标题
  useShortcut?: boolean; // 是否使用简称
}

/**
 * 动态设置文档标题的组件
 * 如果提供了title，将显示为 "title - 网站名称"
 * 如果没提供title，将只显示网站名称
 */
const DocumentTitle: React.FC<DocumentTitleProps> = ({ title, useShortcut = false }) => {
  const { config } = useWebsiteStore();
  // 默认使用全称，除非指定使用简称
  const websiteName = useShortcut ? 
    (config?.website_name_shortcut || 'OJ') : 
    (config?.website_name || 'Online Judge');

  useEffect(() => {
    // 设置文档标题
    document.title = title ? `${title} - ${websiteName}` : websiteName;
    
    // 清理函数
    return () => {
      document.title = websiteName;
    };
  }, [title, websiteName]);

  return null; // 这个组件不渲染任何内容
};

export default DocumentTitle;
